package de.sup.scs.prototyp.client.gin;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.inject.client.AsyncProvider;
import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
import com.gwtplatform.mvp.client.proxy.PlaceManager;
import de.sup.scs.prototyp.client.ui.footer.FooterPresenter;
import de.sup.scs.prototyp.client.ui.graphic.pultdach.GraphicPDPresenter;
import de.sup.scs.prototyp.client.ui.graphic.satteldach.GraphicSDPresenter;
import de.sup.scs.prototyp.client.ui.graphic.walmdach.GraphicWDPresenter;
import de.sup.scs.prototyp.client.ui.main.MainPagePresenter;
import de.sup.scs.prototyp.client.ui.title.TitlePresenter;
import de.sup.scs.prototyp.client.ui.toolbox.ToolBoxPresenter;

@GinModules({ PrototypClientModule.class })
public interface PrototypGinjector extends Ginjector{

    PlaceManager getPlaceManager();
    EventBus getEventBus();
    AsyncProvider<MainPagePresenter> getMainPagePresenter();
    AsyncProvider<TitlePresenter> getTitlePresenter();
    AsyncProvider<FooterPresenter> getFooterPresenter();
    AsyncProvider<ToolBoxPresenter> getToolBoxPresenter();
    AsyncProvider<GraphicPDPresenter> getGraphicPresenter();
    AsyncProvider<GraphicSDPresenter> getGraphicSDPresenter();
    AsyncProvider<GraphicWDPresenter> getGraphicWDPresenter();

}
